Image reading apparatus having transmission function and a user inquiring function and control for stopping the transmission or not depending on the transmission protocol used for transmission

ABSTRACT

An image reading apparatus in which a session timeout does not take place in a case where user&#39;s confirmation is obtained before image data obtained by reading originals is transmitted. Before transmission of image data, a control unit determines whether a protocol having a time out is selected. If the selected protocol has a timeout, the control unit determines whether a memory is in a memory full state each time image data of one page is stored into the memory. If the memory is in a memory full state, the user is requested to confirm as to whether transmission is to be performed. If the necessity of transmission is confirmed by the user, the control unit establishes a session with a destination and transmits image data of pages stored in the memory to the destination.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an image reading apparatus having atransmission function and a control method therefor.

Description of the Related Art

An image forming apparatus such as an MFP (multi function peripheral) isgenerally provided with an image reading apparatus for readingoriginals. In recent years, even a low-priced image reading apparatushas a transmission function for converting read original image data intoa file format specified by a user and transmitting the resultant data toa specified destination according to a predetermined protocol.

For image data transmission by the transmission function, accumulationtype transmission, successive type transmission, or the like is used.

The accumulation type transmission refers to a technique of reading alloriginals to be transmitted, temporarily storing image data into astorage of an MFP, and transmitting the image data stored in thestorage.

Although the accumulation type transmission requires a large-capacitystorage capable of storing a large amount of image data, it can transmitthe same image data any number of times so long as the image data is noterased from the storage. It is therefore possible to transmit the imagedata simultaneously to different destinations.

In the accumulation type transmission, the original image data isretained in the storage, and therefore so-called simultaneoustransmission can be achieved even in the case of using a transmissionprotocol requiring that different pieces of header information be addedto respective ones of image data for different destinations.

In the accumulation type transmission, image data to be transmitted isstored in the storage, as previously described. Thus, a recovery processcan be carried out in a case, for example, that transmission of imagedata has failed. Furthermore, since all originals are read before startof transmission of image data, a user can leave the image readingapparatus immediately after the originals are read and before completionof processing for the transmission.

The successive type transmission refers to a technique of transmittingimage data of original each time one sheet of original is read. In thesuccessive type transmission, the transmitted image data is immediatelyerased from the storage.

The successive type transmission is functionally inferior to theaccumulation type transmission since the above-described advantageousoperations of the accumulation type transmission are restricted in thesuccessive type transmission. With the successive type transmission,however, transmission can be carried out provided that the storage has acapacity corresponding to at least image data of one sheet of original.

Even in a low-priced image reading apparatus, high user-friendliness isrequested. For example, the provision of the following functions isdemanded.

(1) Function of reconfirming a user's intention when the user performsan operation to cancel a transmission job which is in execution, therebyreducing an operation mistake.

(2) Function capable of executing, as one job, processing fortransmission of image data of plural sheets of originals even in areading mode in which each time an original placed on an original platen(original placement table) has been read, an inquiry is made to the userabout whether the next original is to be read and in which if theoriginal placed on the original platen is replaced by the next original,the next original is read.

Japanese Laid-open Patent Publication No. H9-046490 discloses an imageforming apparatus that enables a user to confirm a recovery operation,which is performed when a jam takes place in an ADF (auto documentfeeder). Japanese Laid-open Patent Publication No. 2002-223338 disclosesan image reading apparatus capable of continuously and alternatelyperforming reading in a mode in which an original placed by a user on anoriginal table is read and reading in a mode in which an original fedfrom the ADF onto the original table is read. This image readingapparatus performs control to change the reading mode at a specifiedpage to another reading mode, if an interruption instruction is givenwhen reading is being performed in either one of the reading modes.After completion of the reading in the reading mode after the modechange, it is determined whether there is an original which is the sametype as the originals read in the previous reading mode. If there issuch an original, the previous reading mode is resumed.

For a low-priced image reading apparatus, successive type transmissioncapable of suppressing the storage capacity as compared to accumulationtype transmission is sometimes used.

Even in a low-priced image reading apparatus, various processing fortransmission of image data obtained by reading plural sheets oforiginals are sometimes handled as one job, while making an inquiry to auser about whether the next original is to be read each time an originalhas been read. This is a case, for example, where after one sheet oforiginal placed on the original platen of the image reading apparatus isread, a user replaces the original by the next original and gives aninstruction to read the next original. In that case, the image readingapparatus waits for a user's instruction after reading one sheet oforiginal. In the successive type transmission, a session with atransmission destination apparatus is established at a timing totransmit image data obtained by reading the first one of originals. If apredetermined time period has elapsed while the image reading apparatusis waiting for a user's instruction, a session timeout takes placedepending on a transmission protocol selected at the time oftransmission, so that a job which is being processed is discontinued.

In an image reading apparatus that employs the successive typetransmission, an instruction to cancel a job is sometimes given by auser while an original is being read or image data is being transmitted.In such a case, the image reading apparatus does not immediately cancelthe job which is in execution, but cancels the job after an instructionto confirm that the job is to be canceled is given by the user. In otherwords, the image reading apparatus waits for the user's job cancellationconfirmation instruction after receiving the user's job cancellationinstruction. Depending on the transmission protocol, there is a casewhere a session timeout takes place while the image reading apparatus iswaiting for the job cancellation confirmation instruction, so that thejob is discontinued.

SUMMARY OF THE INVENTION

The present invention provides an image reading apparatus and a controlmethod therefor, in which a session timeout does not take place in acase where user's confirmation is obtained before image data obtained byreading originals is transmitted.

According to one aspect of this invention, there is provided an imagereading apparatus that communicates with an external apparatus, whichcomprises a selection unit configured to select one of transmissionprotocols, an acceptance unit configured to accept an instruction totransmit image data, a reading unit configured to read originals andgenerate image data in a case where the acceptance unit accepts theinstruction, an inquiry unit configured to inquire a user about whethera subsequent original is to be read or reading is to be completed eachtime one original is read by the reading unit, a successive typetransmission unit configured to transmit to the external apparatus imagedata generated by the reading unit each time one original is read by thereading unit, an accumulation type transmission unit configured to storeimage data generated from originals read by the reading unit until aresponse indicating that reading is to be completed is given in responseto an inquiry from the inquiry unit and configured to transmit thestored image data to the external apparatus, and a control unitconfigured to cause the accumulation type transmission unit to transmitimage data generated by the reading unit in a case where the selectedprotocol is a protocol that has a timeout for a session establishedbetween the image reading apparatus and the external apparatus andconfigured to cause the successive type transmission unit to transmitimage data generated by the reading unit in a case where the selectedprotocol is a protocol that has no timeout for a session establishedbetween the image reading apparatus and the external apparatus.

With the present invention, an effect can be achieved that a sessiontimeout does not take place in a case where user's confirmation isobtained before image data obtained by reading originals is transmitted.

Further features of the present invention will become apparent from thefollowing description of an exemplary embodiment with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an example of an image readingapparatus according to one embodiment of this invention;

FIG. 2 is a block diagram showing a hardware structure of the imagereading apparatus;

FIG. 3 is a block diagram showing a scan image accumulation processingsystem of the image reading apparatus;

FIG. 4 is a view showing the construction of an operation unit of theimage reading apparatus;

FIGS. 5 and 6 are a flowchart showing image data transmission controlperformed by the image reading apparatus; and

FIG. 7A to 7G are views showing UI screens displayed on the operationunit at the time of image data transmission.

DESCRIPTION OF THE EMBODIMENTS

The present invention will now be described in detail below withreference to the drawings showing a preferred embodiment thereof.

FIG. 1 shows in block diagram an example of an image reading apparatusaccording to one embodiment of this invention.

Referring to FIG. 1, an image reading apparatus 101 includes a readerunit 13, control unit 102, laser beam printer (LBP) 45, and operationunit 150. The image reading apparatus 101 is connected for communicationwith a client PC 103 and a mail server 104 through a LAN 105 which is anetwork.

The reader unit 13 includes a scanner unit 11 for reading an originaland an original feeding unit 12 for conveying an original to the scannerunit 11. The scanner unit 11 optically reads an original automaticallyfed onto an original platen (not shown) from the original feeding unit12 (hereinafter, also referred to as the ADF) or an original manuallyplaced on the original platen, and outputs an image signal. The imagesignal is supplied to a control unit 102 by which predetermined imageprocessing is performed on the image signal to obtain image data.

The control unit 102 transmits the image data to the LAN 105 inaccordance with a transmission instruction from an operation unit 150,as described later. In other words, the control unit 102 has atransmission function.

To perform printing, the control unit 102 outputs image data to the LBP45. In accordance with the image data, the LBP 45 prints an image onto arecording sheet and discharges the printed sheet. The LBP 45 includes amarking unit 41, a sheet discharge unit 42, and a sheet feed unit 43having recording sheet cassettes. In accordance with image data, themarking unit 41 forms an image on a recording sheet fed from the sheetfeed unit 43, and fixes the image onto the recording sheet. After beingsorted and stapled for example, printed recording sheets are output fromthe sheet discharge unit 42.

As described above, the control unit 102 has a copy function forcontrolling the reader unit 13 to read an original image and forcontrolling the LBP 45 to perform image formation based on image data,and has a transmission function for transmitting image data, which isobtained by the reading performed by the reader unit 13, to the clientPC 103 or the like through the LAN 105.

It should be noted that in the case of image data transmission in theform of e-mail, image data is transmitted through the mail server 104 toa destination such as the client PC 103.

The operation unit 150 has a liquid crystal display (LCD) and hard keys(described later), and functions as a user I/F (interface) for operatingthe image reading apparatus 101.

FIG. 2 shows in block diagram the construction of the control unit 102of the image reading apparatus 101.

The control unit 102 includes a scanner I/F unit 10 connected through ananalog front end (AFE) 15 with a CCD (solid-state image pickup device)17 and a CIS (compact image sensor) 18, which are provided in thescanner unit 11 (see FIG. 1) of the reader unit 13. Thus, the controlunit 102 can capture read data (image signal) without the interventionof individual dedicated circuits.

The scanner I/F unit 10 is compatible with the CCD 17 and the CIS 18which are image reading devices, and inputs and processes an imagesignal output from each of these image reading devices. The image signalreceived by the scanner I/F unit 10 is DMA (direct memory access)transferred by a memory control unit 70 and developed as image data in amain memory 100.

A scanner image processing unit 20 performs image processing on theimage data developed in the main memory 100 according to an imageprocessing operation mode (color copy, monochrome copy, color scan,monochrome scan, or the like).

A buffer arbitration unit 77 arbitrates write/read of image datadelivered between the scanner I/F unit 10 and the scanner imageprocessing unit 20 through a ring buffer area of the main memory 100.

A printer image processing unit 30 performs area editing and resolutionconversion on image data, and outputs the resultant image data to theLBP 45 through a printer I/F 40.

A buffer arbitration unit 78 arbitrates write/read of image datadelivered between the printer image processing unit 30 and the printerI/F 40 through the ring buffer area of the main memory 100. The bufferarbitration units 77, 78 are the same in construction as each other butperform control differently from each other.

JPEG modules 50, 60 respectively perform compression and decompressionon image data under predetermined standards. The memory control unit 70is connected to first and second buses 83, 84 of an image processingsystem of the control apparatus 102 and to a third bus 85 of a computersystem of the control apparatus 102, and controls data transfer for datawriting and reading to and from the main memory (SDRAM) 100.

A DMA controller (DMAC) 90 is connected to a ROM 95 through a ROM ISA(ISA bus) 97. The DMAC 90 cooperates with the memory control unit 70 togenerate and set predetermined address information for use in DMAcontrol for data exchange between the main memory 100 and externaldevices through an interface unit 170.

A DMA controller (DMAC) 91 cooperates with the memory control unit 70 togenerate and set predetermined address information for use in DMAcontrol for data exchange between the main memory 100 and imageprocessing units 10, 20, 30, and 40. For example, in accordance with atype of image reading device (CCD 17 or CIS 18), the DMAC 91 generates,on a per DMA channel basis, address information for use when image dataread and processed by the scanner I/F unit 10 is DMA transferred to themain memory 100. The DMAC 91 performs DMA transfer of image datadeveloped in the main memory 100 to the scanner image processing unit20. As described above, the DMAC 91 cooperates with the memory controlunit 70 to perform DMA control between the main memory 100 and the imageprocessing units 10, 20, 30, and 40.

The ROM 95 stores control programs and control parameters for the imagereading devices (i.e., the CCD 17 and the CIS 18). Thus, image datacompatible with data output formats of the CCD 17 and the CIS 18 can beinput and processed, and the provision of dedicated interface circuitsis unnecessary. The ROM 95 stores data that is to be retainedirrespective of whether the power is on or off. As illustrated, the ROMSIA 97 is also connected to a modem 93.

The first bus 83 is a bus through which image data read from the mainmemory 100 is transferred to image processing units 10 to 60 of theimage processing system. The second bus 84 is a bus through which imagedata is transferred from the image processing units 10 to 60 to the mainmemory 100. The first and second buses 83, 84 are paired to transferimage data between the image processing units 10 to 60 and the mainmemory 100. The third bus 85 is connected with a CPU 180, interface unit170, mechatronic system control unit 125, control registers of the imageprocessing units 10 to 60, and DMAC 90.

The mechatronic system control unit 125 includes a motor control unit110 and an interruption timer control unit 120 that controls a motordriving timing and also controls timing synchronization between variousprocessing performed by the image processing system.

The interface unit 170 includes an LCDC 130, USB 2.0 interface unit 140,USB 1.1 interface unit 145, and LANC 160.

The LCDC 130 is a unit that controls the LCD 135 to display varioussettings, processing status, etc. of an image processing apparatus(e.g., image forming apparatus) The USB interface units 140 and 145 areeach connected with a peripheral device such as external HDD, externalSSD, or USB memory.

The LANC 160 is a unit that controls timings of, e.g., sending imagedata to connected devices (i.e., timings of accessing the connecteddevices). The LANC 160 is also used to communicate with the client PC103 (FIG. 1) or the like through the LAN 105 (FIG. 1). The CPU 180controls operation of the image reading apparatus 101.

In the following, scan image accumulation processing performed by theimage reading apparatus 101 will be described.

FIG. 3 shows in block diagram a scan image accumulation processingsystem of the image reading apparatus 101.

As shown in FIG. 3, the scan image accumulation processing systemincludes the scanner I/F unit 10, scanner image processing unit 20,image encode unit 307, and image storage memory 308. The image encodeunit 307 corresponds to the JPEG module 50 or the JBIG module 60 shownin FIG. 2, and the image storage memory 308 corresponds to the mainmemory 100 shown in FIG. 2.

Image data supplied from the scanner I/F unit 10 to the scanner imageprocessing unit 20 is temporarily stored in an input image buffer 302 ofthe scanner image processing unit 20. Each pixel of a monochrome imageis represented by, e.g., 1 byte data, and each pixel of color image isrepresented by, e.g., 3 byte data.

The input image buffer 302 is not required to have a storage capacity tostore image data of one page, but only required to have a storagecapacity to store image data of the unit of binarization processingperformed by a binarization processing unit 303.

The binarization processing unit 303 converts multivalue image data intobinary image data on a per predetermined data amount basis, and storesthe binary image data into a page buffer 304. An image rotation unit 305performs rotation processing on the binary image data. Settings for theimage rotation unit 305 (e.g., necessity or unnecessity of rotation,rotation direction, and rotation angle) are performed by the CPU 180(FIG. 2) through the third bus 85 (FIG. 2). The binary image data afterrotation processing is stored into a page buffer 306.

The binary image data stored in the page buffer 306 is encode-processedby the image encode unit 307. More specifically, monochrome image datais encoded by the JBIG 60 (FIG. 2), whereas color image data is encodedby the JPEG 50 (FIG. 2). The encoded image data is stored into the imagestorage memory 308.

As the image storage memory 308, an HDD can be used instead of the mainmemory 100. Image data is DMA-transferred between the memory or bufferand the image processing units by the memory control unit 70 (FIG. 2)and the DMAC 91 (FIG. 2).

In the following, a description will be given of an example oftransmission control performed by the control unit 102 shown in FIG. 2.

The CPU 180 executes a control program stored in the ROM 95 to transmitimage data according to predetermined protocol and transmissionspecifications. More specifically, under the control of the CPU 180,image data stored in the image storage memory 308 (FIG. 3) is encoded, apacket header is added to the encoded image data, and the resultantimage data is transmitted to the client PC 103 or the mail server 104 onthe LAN 105 through the third bus 85 and the LANC 160.

It is assumed in the illustrated example that the image data istransferred to the client PC 103 through the mail server 104 accordingto an SMTP protocol (simple mail transfer protocol) on TCP/IP.

FIG. 4 shows the construction of the operation unit 150 shown in FIG. 1.

Referring to FIG. 4, the operation unit 150 includes the LCD 135, aspreviously described. The operation unit 150 further includes a menuselection key 401, ten keys 402, reset key 403, stop key 404, and startkey 405. In the illustrated example, each of these keys 401 to 405 is ahard key.

The LCD 135 performs screen display under the control of the LCDC 130(FIG. 2). The menu selection key 401 has a cross key for upward,downward, leftward and rightward scrolling a menu displayed on the LCD135 for selection of an item from the menu, and a confirmation key forconfirming the selected item.

The ten keys 402 are used to directly input the number of copies, forexample. The reset key 403 is used to clear the settings and restore thesettings to initial values. The start key 405 is used to give aninstruction to start a job. The stop key 404 is a key used to give aninstruction to stop the started job.

FIGS. 5 and 6 show, in flowchart, image data transmission controlperformed by the image reading apparatus 101 shown in FIG. 1. Thetransmission control of FIGS. 5 and 6 is performed by the CPU 180 byreading and executing a program stored in the ROM 95 of the imagereading apparatus 101. FIGS. 7A to 7G show UI (user interface) screensdisplayed on the operation unit 150 at the time of image datatransmission.

In the following, a description will be given of an example of a processin which an inquiry is made as to whether the next original is to beread or the reading is to be completed each time one sheet of original(more generally, one original) has been read and in which processing forreading the next original and transmitting image data of the readoriginal is performed, where required, in accordance with a result ofthe inquiry. More specifically, there will be described a process inwhich plural sheets of originals are sequentially read while eachoriginal is placed on the original platen (original placement table) andreplaced with the next original by a user and in which image data of theread originals is transmitted. With this process, even plural sheets oforiginals (such as a book, notebook, or magazine) that cannotcontinuously be read by using an auto document feeder (ADF) cancontinuously be read by the scanner unit 11, while an original placed onthe original platen is replaced by the user with the next original andthen a reading instruction is given by the user. Thus, processing fortransmitting image data obtained from the plural sheets of originals canbe performed as one transmission job.

In the following, the term “successive type transmission” will refer toprocessing where each time each one of plural sheets of originals hasbeen read, image data obtained from the read original is stored into themain memory 100, and the stored image data is transmitted to an externalapparatus. The term “accumulation type transmission” will refer toprocessing where pieces of image data respectively obtained by readingplural sheets of originals are sequentially stored into the main memory100 (image accumulation memory) and the pieces of image data stored inthe main memory 100 are collectively transmitted to an externalapparatus after all the originals to be read are read.

When the operation unit 150 of the image reading apparatus 101 isoperated by a user attempting to transmit image data of originals, theCPU 180 of the control unit 102 causes the LCD 135 to display a UIscreen 700 shown in FIG. 7A. By using the menu selection key 401, theuser specifies a transmission destination, reading size, and color modeon the UI screen 700. Subsequently, when detecting a UI screen scrollinstruction given by the user by operating the cross key of the menuselection key 401, the CPU 180 causes the LCD 135 to display a UI screen701 shown in FIG. 7B. The user specifies a file format 702 on the UIscreen 701 by using the menu selection key 401. In this embodiment, thefile format 702 can be selected from among PDF, TIFF, and JPEG fileformats. It should be noted that in a case where the PDF or TIFF fileformat is selected as the file format 702, the CPU 180 causes the LCD135 to display a UI screen (not shown) for selecting either a singlepage format in which image data obtained by reading one sheet oforiginal (one page) is handled as one file or a multi page format inwhich pieces of image data obtained by reading plural sheets oforiginals (plural pages) are handled as one file. On the displayed UIscreen, the user specifies the single page format or the multi pageformat. It should be noted that the single page format or the multi pageformat can be specified by the image reading apparatus 101 according toa file format or the like, instead of being specified by the user.

After making the setting of a transmission job as described above, theuser presses the start key 405 of the operation unit 150 in a state thatthe UI screen 700 or 701 is displayed. When detecting that the start key405 is pressed, the CPU 180 determines that the CPU 180 as an acceptanceunit receives an instruction to start reading/transmission processing,and starts transmission control (which is also referred to as thetransmission job).

At the start of the transmission job, the CPU 180 determines an originalreading method to be used. More specifically, the CPU 180 determineswhich of the following two methods is to be used (step S501): a methodin which an original manually placed on the original platen is read bythe scanner unit 11 to obtain image data, or a method in which anoriginal fed onto the platen by the ADF (original feeding unit 12) isread by the scanner unit 11 to obtain image data. The abovedetermination can be made according to a user's instruction inputthrough the operation unit 150 or according to a result of detection inwhich whether an original to be read is placed on the original platen oron the ADF is detected by an original detection sensor (not shown) orthe like.

If it is determined that the method for obtaining image data by readingan original manually placed on the original platen is to be used (i.e.,an “platen” branch from step S501), the CPU 180 determines which of twoformats (single page format or multi page format) is selected as thefile format on the UI screen (step S502). In the present embodiment,this determination is made according to the user's format selection onthe UI screen. However, the determination can be made according to thefile format 702 shown in FIG. 7B being specified.

If it is determined that the multi page format is selected (i.e., a“multi-page” branch from step S502), the process proceeds to step S503where the CPU 180 determines whether a transmission protocol to be usedin the transmission job is a protocol having a timeout for a sessionestablished between the image reading apparatus 101 and a transmissiondestination apparatus (hereinafter, referred to simply as the protocolhaving a timeout). As the transmission protocol having a timeout, therecan be mentioned, for example, SMTP which is a protocol for e-mailtransmission. In the UI screens shown in FIGS. 7A to 7G, there is shownan example where the transmission processing is performed using thee-mail transmission protocol. As another protocol having a timeout,there can be mentioned, for example, SMB (server message block) which isa protocol for file transmission. As a transmission protocol not havinga timeout, there can be mentioned a protocol for transmitting image datathrough a file system to an external memory (e.g., an external storagemedium such as an external HDD or SSD, or a USB memory detachablymounted to the image reading apparatus 101). It should be noted thatwhen an instruction to transmit image data is accepted through theoperation unit 150, the transmission protocol to be used for thetransmission job is selected according to the settings specified by theuser or defined by the image reading apparatus 101.

When determining that the transmission protocol is a protocol not havinga timeout (i.e., if NO to step S503), the CPU 180 determines that thesuccessive type transmission is to be performed, and transmits a requestfor establishment of session to an apparatus, which is represented bythe destination specified by the user on the UI screen 700. Whenreceiving a session establishment response in reply to the sessionestablishment request, the CPU 180 performs control such that one sheetof original is read, image data obtained by reading the original isstored into the main memory 100, and the image data is transmitted tothe destination (step S504). At that time, the CPU 180 causes the LCD135 to display a UI screen 704 shown in FIG. 7C. On the UI screen 704, akey 705 for selecting “cancel” is displayed and the transmission pagenumber is also displayed.

After completion of transmission of the image data of one page, the CPU180 causes the LCD 135 to display a confirmation screen 706 (FIG. 7E)for inquiring the user about whether the next original is to be read orthe original reading is to be completed (i.e., transmission is to bestarted) or the transmission job is to be canceled. In a state where thesession is kept established, the CPU 180 waits for a user's selection(step S507). The user selects execution of reading the next original orcompletion of original reading (i.e., start of transmission) orcancellation of the transmission job by operating the menu selection key401 or the start key 405.

When the start key 405 is pressed on the confirmation screen 706 wherebyexecution of reading the next original is selected (i.e., a “reading”branch from step S507), the process returns to step S504 where the CPU180 performs control to read the next original and to store and transmitimage data.

It should be noted that in the transmission control of FIG. 5, whetheror not the next original is to be read is determined in step S507 afterone sheet of original is read and image data is transmitted in stepS504. However, if the file format of image data to be transmitted is aTIFF multi-page format, image data is not transmitted in step S504 butretained in the main memory 100. This is because each page of image datain TIFF multi-page format includes pointer information representing thetop of image data of the next page, and therefore, in the case ofsuccessive type transmission in TIFF multi-page format, image datacannot be generated at least until whether or not there is the nextoriginal to be read is confirmed (i.e., whether or not image data of thenext page is present is confirmed). For this reason, if the file formatof image data to be transmitted is a TIFF multi-page format, image dataobtained from the original read in step S504 is not transmitted in stepS504 but retained in the main memory 100, as described above. When aninstruction to read the next original is given in step S507, pointerinformation representing the top of image data of the next page is addedto the image data retained in the main memory 100, and the resultantimage data is transmitted.

When “transmission start” 707 is selected on the confirmation screen 706(i.e., a “transmission” branch from step S507), the process proceeds tostep S512 where the CPU 180 performs processing for closing, as onefile, a series of image data transmitted at one time or plural times. Atthat time, depending on the file structure of the specified file format,data size and data attribute of the file such as the number of pages andcolor/monochrome designation are transmitted to the transmissiondestination apparatus. Then, a request for completing the sessionestablished with the transmission destination apparatus is transmitted,whereupon the present process is completed.

When “cancel” is selected on the confirmation screen 706 (i.e., a“cancel” branch from step S507), the process proceeds to step S513 wherethe CPU 180 transmits to the transmission destination apparatus arequest for deletion of image data already transmitted in step S504(step S513), and transmits a request for completing the establishedsession, whereupon the present process is completed.

When determining that the transmission protocol is a protocol having atimeout (i.e., if YES to step S503), the process proceeds to step S505where the CPU 180 determines that the accumulation type transmission isto be performed, and stores image data of one page obtained by readingthe original into the main memory 100 (image accumulation memory).

Each time image data of one page is stored, the CPU 180 determineswhether or not a state takes place where image data cannot be storedinto a storage area of the main memory 100 (hereinafter, referred to asthe memory full state) (step S508). If it is determined that the mainmemory 100 is not in the memory full state (i.e., if NO to step S508),the process proceeds to step S510 where the CPU 180 causes the LCD 135to display the confirmation screen 706 shown in FIG. 7E and waits for auser's selection about whether the next original is to be read ororiginal reading is to be completed (i.e., transmission is to bestarted).

When execution of reading the next original is instructed (i.e., a“reading” branch from step S510), the process returns to step S505 wherethe CPU 180 performs control to read the next original and to storeimage data of one sheet of original into the main memory 100.

When “transmission start” 707 is selected on the confirmation screen 706(i.e., a “transmission” branch from step S510), the CPU 180 transmits arequest for establishment of a session with the transmissiondestination. When receiving a response indicating acceptance of sessionestablishment in reply to the session establishment request, the CPU 180collectively transmits pieces of image data stored in the main memory100 (step S511). At that time, the CPU 180 causes the LCD 135 to displaya UI screen 710 shown in FIG. 7F, thereby notifying the user that thetransmission is in progress. Subsequently, the CPU 180 completes thetransmission job.

According to this embodiment, in the case of accumulation typetransmission, after the session for image data transmission isestablished in step S511, there is no step for requesting the user toconfirm whether a subsequent original is to be read. Accordingly, asession timeout is not caused due to waiting for a user's instruction.

When determining in step S508 that the main memory 100 becomes thememory full state (i.e., if YES to step S508), the CPU 180 causes theLCD 135 to display a confirmation screen 711 shown in FIG. 7G, therebyrequesting the user to confirm whether transmission is to be performed,and determines whether or not a user's instruction is given (step S509).

When the user operates the menu selection key 401 to select “YES” on theconfirmation screen 711 (i.e., a “transmission” branch from step S509),the process proceeds to step S511 where the CPU 180 establishes asession with the transmission destination and transmits image dataaccumulated in the main memory 100.

According to this embodiment, even if the main memory 100 becomes thememory full state during execution of the accumulation typetransmission, it is possible to transmit image data obtained fromoriginals read until the main memory 100 becomes the memory full state,whereby image data to be transmitted can be prevented from wastefullydiscarded. If the main memory 100 becomes the memory full state, it isenough to transmit the accumulated image data and then cause the scannerto read only originals which have not yet been read.

When the user operates the menu selection key 401 to select “NO” on theconfirmation screen 711 (i.e., a “job cancellation” branch from stepS509), the CPU 180 discards (erases) the image data stored in the mainmemory 100, without transmitting the image data to the transmissiondestination, whereupon the transmission job is completed.

When determining in step S502 that the selected file format is a singlepage format, the CPU 180 determines that processing for transmission ofimage data of one sheet of original is one transmission job. Then, theCPU 180 establishes a session with a destination (transmissiondestination), reads one sheet of original, stores image data obtained byreading the original into the main memory 100, and transmits the storedimage data to the destination (step S506). After completion of thetransmission, the CPU 180 completes the transmission job.

When determining in step S501 that the method for reading an originalfed by the ADF is to be used as the original reading method (i.e., an“ADF” branch from step S501), the process proceeds to step S601 wherethe CPU 180 determines that the successive type transmission is to beperformed, establishes a session with a destination, controls thescanner unit 11 and the ADF 12 to read one sheet of original, andtransmits the resultant image data (step S601). It should be noted thatthe processing in step S601 is the same as the processing in step S504except that the original is fed by the ADF 12 onto the original plateninstead that the original is manually placed on the original platen.

Next, the CPU 180 determines whether there is the next original (thenext page) on the ADF 12 (step S602). If there is no next original(i.e., if NO to step S602), the CPU 180 completes the transmission job.

On the other hand, if there is the next original (i.e., if YES to stepS602), the CPU 180 confirms whether the stop key 404 shown in FIG. 4 ispressed (step S603). If the stop key 404 is not pressed (i.e., if NO tostep S603), the process returns to step S601 where the CPU 180 performscontrol to read the next original and to transmit image data.

In this embodiment, whether the stop key 404 is pressed is confirmed instep S603 after image data of one sheet of original is read andtransmitted in step S601. However, the processing in step S601 and theprocessing in step S603 can concurrently be performed, therebyrepeatedly determining (monitoring) whether or not the stop key 404 ispressed while the one sheet of original is being read. By doing this, ifthe stop key 404 is pressed while the one sheet of original is beingread, it becomes possible to stop the reading processing which is beingperformed.

When confirming that the stop key 404 is pressed (i.e., if YES to stepS603), the CPU 180 causes the LCD 135 to display a job cancellationconfirmation screen 709 shown in FIG. 7D (step S604). The jobcancellation confirmation screen 709 is for requesting (inquiring) theuser to confirm whether the transmission job is to be canceled. On thescreen 709, there are displayed YES and NO buttons.

The CPU 180 determines whether a user's instruction is input (stepS606). If the user selects “NO” on the job cancellation confirmationscreen 709 by operating the menu selection key 401 (i.e., a “jobcontinuation” branch from step S606), the CPU 180 causes the jobcancellation confirmation screen 709 displayed on the LCD 135 toextinguish (step S605). Then, the process returns to step S601 where theCPU 180 restarts the stopped process for reading originals andtransmitting image data.

If the user selects “YES” on the job cancellation confirmation screen709 by using the menu selection key 401 (i.e., a “reading cancellation”branch from step S606), the CPU 180 extinguishes the job cancellationconfirmation screen 709 displayed on the LCD 135 (step S607), andexecutes a transmission job cancellation processing (step S608). Morespecifically, the CPU 180 transmits a request for deleting the imagedata already transmitted to the destination in step S601 or inbelow-described step S610. It should be noted that in the case ofexecuting the transmission using SMTP, which is an e-mail transmissionprotocol, a request is made to forcibly complete the session establishedwith the mail server, whereby the image data already transmitted to themail server in step S601 or S610 is determined as being an error andautomatically deleted by the mail server.

If it is determined that no user's instruction is input in a state wherethe job cancellation confirmation screen 709 is displayed (i.e., a“none” branch from step S606), the CPU 180 determines whether thetransmission protocol for the transmission job is a protocol having atimeout (step S609). The determination in step S609 is the same as thedetermination in step S503. It should be noted that before advancing tostep S606, the CPU 180 can wait for elapse of a predetermined timeperiod from when the job cancellation confirmation screen 709 isdisplayed in step S604, while taking account of a time period necessaryfor the user to input an instruction. Alternatively, the process canadvance to step S606 immediately after the job cancellation confirmationscreen 709 is displayed. The predetermined time period must be shorterat least than a time period whose expiration causes a session timeoutfor the transmission protocol.

If it is determined that the transmission protocol is a protocol havinga timeout (i.e., if YES to step S609), the CPU 180 perform control toread the next original and transmit image data (step S610). In a casethat no user's instruction is given after the stop key 404 is pressed,if the processing for reading and transmission is temporarily stopped,there is a possibility that a session timeout for the transmissionprotocol (command delivery timeout) occurs. To obviate this, the CPU 180waits for a user's instruction while continuing the control of readingand transmission, as will be described later.

Next, the CPU 180 determines whether there is the next original (thenext page) on the ADF (step S611). If there is no next original (i.e.,if NO to step S611), the process proceeds to step S612 in whichprocessing for a case where no user's instruction is given after thestop key 404 is pressed is performed. More specifically, as with stepS512, the CPU 180 performs processing for closing the transmitted imagedata as one file, while determining that the stop key 404 is pressed byerroneous operation (operation mistake).

On the other hand, if it is determined that there is the next original(i.e., if YES to step S611), the process returns to step S606 where theCPU 180 waits for input of a user's instruction.

As described above, in a case that a transmission protocol having atimeout is used, the reading/transmission processing is continued whilethe job cancellation confirmation screen is being displayed, therebypreventing an occurrence of a timeout for the session established withthe transmission destination. It should be noted that in the case ofcontinuing the reading/transmission processing, the transmission job isnormally completed when all the plural sheets of originals placed on theADF are read, if no user's instruction is given after the stop key 404is pressed whereby the job cancellation confirmation screen 709 isdisplayed.

If it is determined in step S609 that the transmission protocol is aprotocol that has no timeout (i.e., if NO to step S609), the processproceeds to step S611. Even if no user's instruction is input for a longtime, a timeout does not take place since the transmission protocol doesnot have a timeout. Thus, the CPU 180 waits for input of user'sinstruction, while stopping execution of reading/transmissionprocessing.

As described above, with the image reading apparatus of this embodiment,even if the stop key 404 is pressed while the reading/transmissionprocessing is being performed, the transmission job is not immediatelycanceled, but subsequently canceled if the instruction to confirm thecancellation of reading is given by pressing the “YES” button. By doingthis, even if, for example, the user erroneously presses the stop key404, it is possible to continue the transmission job (without beingcanceled) by pressing the “NO” button on the job cancellationconfirmation screen 709 to give an instruction to continue the job,whereby usability can be greatly improved.

Furthermore, with the image reading apparatus of this embodiment,control for original reading and image data transmission is changedaccording to whether the transmission protocol is a protocol having asession timeout, thereby avoiding a transmission protocol dependentproblem. More specifically, in the case of successive type transmission,when a request for job cancellation is given by the user while thetransmission job is being performed, the user is requested to confirmwhether the job is to be cancelled. At that time, if the selectedtransmission protocol has a session timeout, waiting for reception of auser's instruction is made while the processing for original reading andimage data transmission is continued, whereby an occurrence of sessiontimeout can be prevented and the user's intention can be reconfirmed toreduce a user's operation mistake.

With the image reading apparatus of this embodiment, in a case thatpieces of image data obtained by reading originals manually placed onthe original platen are transmitted by a transmission protocol having asession timeout, control is made to perform the accumulation typetransmission. More specifically, processing is performed in which piecesof image data accumulated in the main memory 100 are collectivelytransmitted in accordance with a user's instruction indicatingcompletion of reading all the originals. In this case, there is apossibility that the main memory 100 becomes the memory full state whena large number of originals are read. If the memory full state occurs, auser's confirmation is obtained as to whether pieces of image dataobtained up to now by reading originals should be transmitted. By doingthis, even if there is some restriction of hardware resource, it ispossible to continuously read originals manually placed on the originalplaten and to support a multiple-page file format, wherebyuser-friendliness can be improved.

As apparent from the foregoing description, the CPU 180 and the like,which are shown in FIG. 2, function as a unit for determining whether aprotocol has a timeout, a unit for determining whether the main memory100 is in the memory full state, a confirmation unit, and a unit forperforming successive type transmission. The CPU 180 and the like alsofunction as a unit for performing accumulation type transmission, and aunit for determining whether a selected format is a multi page format ora single page format.

(Other Embodiments)

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment, and by a method, the steps of whichare performed by a computer of a system or apparatus by, for example,reading out and executing a program recorded on a memory device toperform the functions of the above-described embodiment. For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (e.g., computer-readable medium).

While the present invention has been described with reference to anexemplary embodiment, it is to be understood that the invention is notlimited to the disclosed exemplary embodiment. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2010-292286, filed Dec. 28, 2010, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An image reading apparatus comprising: a readerconfigured to read originals and generate image data; a transmitterconfigured to transmit the image data to an external apparatus; aninterface configured to receive a stop instruction while the originalsare read by the reader; and a controller configured to cause, inaccordance with reception of the stop instruction in a case where thetransmission unit transmits the image data in accordance with a networkprotocol, a display unit to display a screen for receiving a cancelinstruction, cause the transmission unit to transmit the image datawhile the screen is displayed, and cancel transmission of the image datain accordance with reception of the cancel instruction, wherein thecontroller causes, in accordance with reception of the stop instructionin a case where the transmission unit transmits the image data inaccordance with a USB protocol, the display unit to display a screen forreceiving a cancel instruction, stops transmission of the image datawhile the screen is displayed, and cancels transmission of the imagedata in accordance with reception of the cancel instruction.
 2. Theimage reading apparatus according to claim 1, wherein the image data istransmitted concurrently when the reader reads the originals, and thecontroller causes, in accordance with reception of the stop instructionin a case where the transmitter transmits the image data in accordancewith the network protocol, the display unit to display the screen forreceiving the cancel instruction, cause the reader unit to read theoriginals while the screen is displayed, and cancel transmission of theimage data in accordance with the cancel instruction, and wherein thecontroller causes, in accordance with reception of the stop instructionin a case where the transmission unit transmits the image data inaccordance with the USB protocol, the display unit to display the screenfor receiving the cancel instruction, stops reading of the originalswhile the screen is displayed, and cancels transmission of the imagedata in accordance with reception of the cancel instruction.
 3. Theimage reading apparatus according to claim 1, wherein the reader readsthe originals conveyed by an ADF (Auto Document Feeder).
 4. The imagereading apparatus according to claim 1, wherein the stop instruction isreceived by pressing of a stop key.
 5. The image reading apparatusaccording to claim 1, wherein the screen is a job cancellationconfirmation screen.
 6. The image reading apparatus according to claim1, wherein the network protocol is an SMTP protocol or an SMB protocol.7. The image reading apparatus according to claim 1, wherein in a casewhere the image data is transmitted in accordance with the USB protocol,in order to identify that a series of the image data transmitted at onetime or a plurality times is one file, the controller performsprocessing for closing the file.
 8. A control method of an image readingapparatus, comprising: reading originals and generate image data;transmitting the image data to an external apparatus; receiving a stopinstruction while the originals are read by the reader; causing, inaccordance with reception of the stop instruction in a case where thetransmission unit transmits the image data in accordance with a networkprotocol, a display unit to display a screen for receiving a cancelinstruction, causing the transmission unit to transmit the image datawhile the screen is displayed, and cancelling transmission of the imagedata in accordance with reception of the cancel instruction; and whereinthe controller causes, in accordance with reception of the stopinstruction in a case where the transmission unit transmits the imagedata in accordance with a USB protocol, the display unit to display ascreen for receiving a cancel instruction, stops transmission of theimage data while the screen is displayed, and cancels transmission ofthe image data in accordance with reception of the cancel instruction.9. A non-transitory computer-readable storage medium storing a programfor causing a computer to execute a control method of an imageprocessing apparatus, the control method comprising: reading originalsand generate image data; transmitting the image data to an externalapparatus; receiving a stop instruction while the originals are read bythe reader; causing, in accordance with reception of the stopinstruction in a case where the transmission unit transmits the imagedata in accordance with a network protocol, a display unit to display ascreen for receiving a cancel instruction, causing the transmission unitto transmit the image data while the screen is displayed, and cancellingtransmission of the image data in accordance with reception of thecancel instruction; and wherein the controller causes, in accordancewith reception of the stop instruction in a case where the transmissionunit transmits the image data in accordance with a USB protocol, thedisplay unit to display a screen for receiving a cancel instruction,stops transmission of the image data while the screen is displayed, andcancels transmission of the image data in accordance with reception ofthe cancel instruction.